package cn.com.connext.scrm.domain.master;

import com.connext.common.domain.UUIDDomain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.Date;

/**
 * @author Xiaoxiao.Xing
 * @date 2020/9/2
 */
@Entity
@Table(name = "draw_activity")   // 定义数据库表名
public class DrawActivity implements UUIDDomain, Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;//主键

    @Column(name = "activity_name", nullable = false)
    private String activityName; //活动名字

    /**
     * 活动类型 1 抽奖 2 领券 3其他
     */
    @Column(name = "activity_type", nullable = false)
    private String activityType;

    @Column(name = "content")
    private String content;//内容

    @Column(name = "image_url")
    private String imageUrl;//图片

    @Column(name = "url")
    private String url;//规则

    /**
     * 参加活动需要的积分
     */
    @Column(name = "need_point", nullable = false)
    private Integer needPoint;

    /**
     * 可参加活动的次数
     */
    @Column(name = "join_number", nullable = false)
    private Integer joinNumber;
    /**
     * 可参加活动的次数
     */
    @Column(name = "can_delete", nullable = false)
    private Integer canDelete;

    /**
     * 活动页面按钮名称
     */
    @Column(name = "button_name", nullable = false)
    private String buttonName;

    /**
     * 活动页面按钮图片
     */
    @Column(name = "button_img", nullable = false)
    private String buttonImg;

    /**
     * 活动关联奖励商品种类ID
     */
    @Column(name = "good_id")
    private Integer goodId;

    @Column(name = "start_time", nullable = false)
    private ZonedDateTime startTime;

    @Column(name = "end_time", nullable = false)
    private ZonedDateTime endTime;

    @Column(name = "enable_flag", nullable = false)
    private boolean enableFlag; //是否启用

    @Column(name = "create_time")
    private Date createTime; //创建时间

    @Column(name = "update_time")
    private Date updateTime; //创建时间
    @Column(name = "background_color")
    private Integer backgroundColor;
    @Column(name = "type")
    private Integer type;

    @Column(name = "campaign_ID", nullable = false)
    private String campaignID;

    @Column(name = "source", nullable = false)
    private String source;

    @Column(name = "source_content", nullable = false)
    private String sourceContent;

    /**
     * 是否包含未中奖 0否 1是
     * */
    @Column(name = "not_have_prize_flag")
    private Integer notHavePrizeFlag;

    /**
     * 是否多路径：0否，1是
     * */
    @Column(name = "is_multipath")
    private String isMultipath;

    /**
     * 是否消息推送 1是，0否
     */
    @Column(name = "is_message")
    private Integer isMessage;
    /**
     * 中奖通知
     */
    @Column(name = "win_message")
    private String winMessage;
    /**
     * 中奖通知内容
     */
    @Column(name = "win_message_remark")
    private String winMessageRemark;
    /**
     * 奖品过期提醒
     */
    @Column(name = "prize_Expire_Message")
    private String prizeExpireMessage;
    /**
     * 奖品过期提醒内容
     */
    @Column(name = "prize_Expire_Message_remark")
    private String prizeExpireMessageRemark;

    /**
     * 消息提醒名称
     */
    @Column(name = "help_activity_name")
    private String helpActivityName;

    public String getWinMessageRemark() {
        return winMessageRemark;
    }

    public void setWinMessageRemark(String winMessageRemark) {
        this.winMessageRemark = winMessageRemark;
    }

    public String getPrizeExpireMessageRemark() {
        return prizeExpireMessageRemark;
    }

    public void setPrizeExpireMessageRemark(String prizeExpireMessageRemark) {
        this.prizeExpireMessageRemark = prizeExpireMessageRemark;
    }

    public String getHelpActivityName() {
        return helpActivityName;
    }

    public void setHelpActivityName(String helpActivityName) {
        this.helpActivityName = helpActivityName;
    }

    public Integer getIsMessage() {
        return isMessage;
    }

    public void setIsMessage(Integer isMessage) {
        this.isMessage = isMessage;
    }

    public String getWinMessage() {
        return winMessage;
    }

    public void setWinMessage(String winMessage) {
        this.winMessage = winMessage;
    }

    public String getPrizeExpireMessage() {
        return prizeExpireMessage;
    }

    public void setPrizeExpireMessage(String prizeExpireMessage) {
        this.prizeExpireMessage = prizeExpireMessage;
    }

    public String getCampaignID() {
        return campaignID;
    }

    public void setCampaignID(String campaignID) {
        this.campaignID = campaignID;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSourceContent() {
        return sourceContent;
    }

    public void setSourceContent(String sourceContent) {
        this.sourceContent = sourceContent;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getActivityType() {
        return activityType;
    }

    public void setActivityType(String activityType) {
        this.activityType = activityType;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getNeedPoint() {
        return needPoint;
    }

    public void setNeedPoint(Integer needPoint) {
        this.needPoint = needPoint;
    }

    public Integer getJoinNumber() {
        return joinNumber;
    }

    public void setJoinNumber(Integer joinNumber) {
        this.joinNumber = joinNumber;
    }

    public String getButtonName() {
        return buttonName;
    }

    public void setButtonName(String buttonName) {
        this.buttonName = buttonName;
    }

    public Integer getGoodId() {
        return goodId;
    }

    public void setGoodId(Integer goodId) {
        this.goodId = goodId;
    }

    public ZonedDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(ZonedDateTime startTime) {
        this.startTime = startTime;
    }

    public ZonedDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(ZonedDateTime endTime) {
        this.endTime = endTime;
    }

    public boolean isEnableFlag() {
        return enableFlag;
    }

    public Integer getCanDelete() {
        return canDelete;
    }

    public void setCanDelete(Integer canDelete) {
        this.canDelete = canDelete;
    }

    public void setEnableFlag(boolean enableFlag) {
        this.enableFlag = enableFlag;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getButtonImg() {
        return buttonImg;
    }

    public void setButtonImg(String buttonImg) {
        this.buttonImg = buttonImg;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getBackgroundColor() {
        return backgroundColor;
    }

    public void setBackgroundColor(Integer backgroundColor) {
        this.backgroundColor = backgroundColor;
    }

    public Integer getNotHavePrizeFlag() {
        return notHavePrizeFlag;
    }

    public void setNotHavePrizeFlag(Integer notHavePrizeFlag) {
        this.notHavePrizeFlag = notHavePrizeFlag;
    }

    public String getIsMultipath() {
        return isMultipath;
    }

    public void setIsMultipath(String isMultipath) {
        this.isMultipath = isMultipath;
    }

}
